Copyright(C) 1994 Terumasa KODAKA , Takeshi KONO


■未使用[ノーマル]
ノーマルモードでは、INT 1DhハンドラはIRET。


■グラフィックBIOS[ハイレゾ]
	グラフィックBIOSの概要
      o ハイレゾモードでは、グラフィック描画を行うためのグラフィックBIOSを
	ROM内プログラムが用意している。これは、ノーマルモードのグラフィック
	BIOSとグラフLIOを合わせたような機能である。ただし、ノーマルモードとの
	互換性はない。PC-98LT・HAのグラフィックBIOSとは類似している。
      o グラフィックBIOSは、モノクロと16色カラーに対応している。H98 256色
	モードはサポートしていない。
      o グラフィックBIOSは、テクニカルデータブックに詳細な説明があるため、
	本書では最低限の情報を掲載するにとどめた。
表	ハイレゾモードのグラフィックモード
	ハイレゾ---+---モノクロ---------1120x750ドット
	           +---16色カラー-------1120x750ドット
	           +---H98 256色--------1120x750ドット
	・「モノクロ」、「16色カラー」は、ハイレゾモードで必須サポートの
	  グラフィックシステム。
	・「H98 256色」は、PC-H98 + PC-H98-E02(256色ボード)でサポート。
	  * PC-H98 model80・90・105, PC-H98T model2Cは256色ボードを標準実装
	  * PC-H98T model1・2は、256色ボードの実装不可


INT 1Dh - Function 00h(ハイレゾ)
分類	GRAPH BIOS
名前	グラフィックBIOSの初期化 (GINIT)
対象	ハイレゾ
入力	AH=00h
	DS=グラフィックBIOS用作業域のセグメント
	DS:0100h(DWORD)=中断処理ルーチンのエントリアドレス
出力	AH=終了ステータス
	    00h=正常終了
	    05h=不正呼び出し
	AL=不定
解説  o 
関連	


INT 1Dh - Function 01h(ハイレゾ)
分類	GRAPH BIOS
名前	モード設定 (GSCREEN)
対象	ハイレゾ
入力	AH=01h
	DS=グラフィックBIOS用作業域のセグメント
	DS:0100h(BYTE)=画面モード
	    00h: カラーグラフィックモード
	    01h: モノクログラフィックモード
	    FFh: モード変更なし
	DS:0101h(BYTE)=画面スイッチ
	    00h: グラフィック画面表示あり・普通描画
	    01h: グラフィック画面表示あり・高速描画
	    02h: グラフィック画面表示なし・普通描画
	    03h: グラフィック画面表示なし・高速描画
	    FFh: モード変更なし
	DS:0102h(BYTE)=アクティブ画面
	    00h: ページ0
	    01h: ページ1
	    02h: ページ2
	    03h: ページ3
	    FFh: モード変更なし
	    * カラーグラフィックモード時はページ0のみ指定可能
	DS:0103h(BYTE)=ディスプレイ画面
	    bit 7〜4: 0を指定
	    bit 3: ページ3
	    bit 2: ページ2
	    bit 1: ページ1
	    bit 0: ページ0
		1=表示あり
		0=表示なし
	    FFh:モード変更なし(画面モード変更時は01hと同等の動作)
	    * カラーグラフィックモード時はページ0のみ指定可能
出力	AH=終了ステータス
	    00h=正常終了
	    05h=不正呼び出し
	AL=不定
解説  o 
関連	


INT 1Dh - Function 02h(ハイレゾ)
分類	GRAPH BIOS
名前	描画領域の指定 (GVIEW)
対象	ハイレゾ
入力	AH=02h
	DS=グラフィックBIOS用作業域のセグメント
	DS:0100h(WORD)=ビューポートの左上X座標(X1)
	DS:0102h(WORD)=ビューポートの左上Y座標(Y1)
	DS:0104h(WORD)=ビューポートの右下X座標(X2)
	DS:0106h(WORD)=ビューポートの右下Y座標(Y2)
	* X1<X2,Y1<Y2でなければならない
	DS:0108h(BYTE)=ビューポート内を塗り潰す色
	       00〜0Fh: 指定パレット番号
	       FFh    : 塗り潰しを行わない
	DS:0109h(BYTE)=ビューポートの外枠を描く色
	       00〜0Fh: 指定パレット番号
	       FFh    : 外枠を描かない
出力	AH=終了ステータス
	    00h=正常終了
	    05h=不正呼び出し
	AL=不定
解説  o 
関連	


INT 1Dh - Function 03h(ハイレゾ)
分類	GRAPH BIOS
名前	フォアグラウンドカラー,バックグラウンドカラーの指定(GCOLOR1)
対象	ハイレゾ
入力	AH=03h
	DS=グラフィックBIOS用作業域のセグメント
	DS:0100h(BYTE)=バックグラウンドカラー
	    00〜0Fh: 指定パレット番号
	    FFh    : 変更しない
	DS:0101h(BYTE)=フォアグラウンドカラー
	    00〜0Fh: 指定パレット番号
	    FFh    : 変更しない
出力	AH=終了ステータス
	    00h=正常終了
	    05h=不正呼び出し
	AL=不定
解説  o 
関連	


INT 1Dh - Function 04h(ハイレゾ)
分類	GRAPH BIOS
名前	パレット番号と表示色の対応 (GCOLOR2)
対象	ハイレゾ
入力	AH=04h
	DS=グラフィックBIOS用作業域のセグメント
	DS:0100h(BYTE)=パレット番号
	    00〜0Fh: 指定パレット番号(カラーグラフィックモードのみ)
	    80h    : 黒パレットレジスタ(モノクログラフィックモードのみ)
	    81h    : 白パレットレジスタ(モノクログラフィックモードのみ)
	    FFh    : 全てのパレットレジスタ(カラーグラフィックモードのみ)
	■パレット番号=FFh以外のとき
	DS:0101h(WORD)=表示色コード(0000〜0FFFh)
	■パレット番号=FFhのとき
	DS:0000h(BYTE)=パレット番号(FFhを設定する)
	DS:0001h(WORD)=パレット番号0の表示色(0000〜0FFFh)
	DS:0003h(WORD)=パレット番号1の表示色(0000〜0FFFh)
	    :                :
	DS:001Fh(WORD)=パレット番号15の表示色(0000〜0FFFh)
出力	AH=終了ステータス
	    00h=正常終了
	    05h=不正呼び出し
	AL=不定
解説  o 
関連	


INT 1Dh - Function 05h(ハイレゾ)
分類	GRAPH BIOS
名前	描画領域のクリア (GCLS)
対象	ハイレゾ
入力	AH=05h
	DS=グラフィックBIOS用作業域のセグメント
出力	AH=終了ステータス
	    00h=正常終了
	    05h=不正呼び出し
	AL=不定
解説  o 
関連	


INT 1Dh - Function 06h(ハイレゾ)
分類	GRAPH BIOS
名前	ドットの書き込み (GPSET)
対象	ハイレゾ
入力	AH=06h
	DS=グラフィックBIOS用作業域のセグメント
	DS:0100h(WORD)=ドットを書き込むX座標
	DS:0102h(WORD)=ドットを書き込むY座標
	DS:0104h(BYTE)=パレット番号
	    00〜0Fh: 指定パレット番号
	    FFh    : ALレジスタの動作モード指定に従ったパレット番号で書き込む
	AL=動作モード指定(DS:0104h=FFhのとき)
	    01h: フォアグラウンドカラーのパレット番号で書き込む
	    02h: バックグラウンドカラーのパレット番号で書き込む
出力	AH=終了ステータス
	    00h=正常終了
	    05h=不正呼び出し
	AL=不定
解説  o 
関連	


INT 1Dh - Function 07h(ハイレゾ)
分類	GRAPH BIOS
名前	直線、矩形の描画 (GLINE)
対象	ハイレゾ
入力	AH=07h
	DS=グラフィックBIOS用作業域のセグメント
	(1)直線、矩形の場合
	DS:0100h(WORD)=描画始点のX座標(X1)
	DS:0102h(WORD)=描画始点のY座標(Y1)
	DS:0104h(WORD)=描画終点のX座標(X2)
	DS:0106h(WORD)=描画終点のY座標(Y2)
	DS:0108h(BYTE)=矩形枠の色
	    00〜0Fh: パレット番号
	    FFh    : フォアグラウンドカラーで描画
	DS:0109h(BYTE)=描画コード
	    00h: 直線描画指定
	    01h: 矩形描画指定
	    02h: 矩形塗り潰し描画指定
	■描画コード=直線・矩形描画指定のとき
	DS:010Ah(BYTE)=スイッチ(ラインスタイルの指定の有無)
	    00h: ラインスタイルの指定なし
	    01h: ラインスタイルの指定あり
	DS:010Bh(WORD)=ラインスタイル
	    * 直線、矩形を描く線のパターンを16ビットで指定する。¥
	      実線で描画するときはFFFFh。bit 0が画面上の左側、¥
	      bit 15が画面上の右側に対応する。
	■描画コード=矩形塗り潰し描画指定のとき
	DS:010Ah(BYTE)=スイッチ
	    00h: 塗り潰し色・タイルパターンを指定しない
	    01h: 矩形塗り潰し色を指定する
	    02h: タイルパターンを指定する
	DS:010Bh(BYTE)=矩形塗り潰し色(スイッチ=01hのとき有効)
	    00〜0Fh: 指定のパレット番号で塗り潰す
	DS:010Ch(BYTE)=使用しない
	DS:010Dh(BYTE)=タイルパターン長(スイッチ=02hのとき有効)
	    00〜FFh: タイルパターン格納域長
	DS:010Eh(DWORD)=タイルパターン格納域の先頭アドレス(スイッチ=02hのとき有効)
出力	AH=終了ステータス
	    00h=正常終了
	    05h=不正呼び出し
	AL=不定
解説  o 
関連	


INT 1Dh - Function 08h(ハイレゾ)
分類	GRAPH BIOS
名前	円、楕円の描画 (GCIRCLE)
対象	ハイレゾ
入力	AH=08h
	DS=グラフィックBIOS用作業域のセグメント
	DS:0100h(WORD)=中心点のX座標(CX)
	DS:0102h(WORD)=中心点のY座標(CY)
	DS:0104h(WORD)=X軸方向の半径(RX)
	DS:0106h(WORD)=Y軸方向の半径(RY)
	DS:0108h(BYTE)=円周の描画色
	    00〜0Fh: パレット番号
	    FFh    : フォアグラウンドカラーで描画
	DS:0109h(BYTE)=フラグ
	    bit 7: 未使用
	    bit 6: タイルパターン指定(1=あり,0=なし)
	    bit 5: 塗り潰し(1=する,0=しない)
	    bit 4: 開始点、終了点一致時の描画指定方法¥
		(1=一致点のみ描画,0=全楕円を描画)
	    bit 3: 終了線分描画(1=あり,0=なし)
	    bit 2: 終了点指定(1=あり,0=なし)
	    bit 1: 開始線分描画(1=あり,0=なし)
	    bit 0: 開始点指定(1=あり,0=なし)
	DS:010Ah(WORD)=開始点のX座標(SX)
	DS:010Ch(WORD)=開始点のY座標(SY)
	DS:010Eh(WORD)=終了点のX座標(EX)
	DS:0110h(WORD)=終了点のY座標(EY)
	■フラグ bit 6,5=01bのとき
	DS:0112h(BYTE)=図形内部を塗り潰す色
	    00〜0Fh: パレット番号
	    FFh    : 円周の描画色と同じ
	■フラグ bit 6,5=11bのとき
	DS:0112h(BYTE)=タイルパターン長
	    00〜FFh: タイルパターン格納域長
	DS:0113h(DWORD)=タイルパターン格納域の先頭アドレス
出力	AH=終了ステータス
	    00h=正常終了
	    05h=不正呼び出し
	    06h=オーバーフロー
	AL=不定
解説  o 
関連	


INT 1Dh - Function 09h(ハイレゾ)
分類	GRAPH BIOS
名前	指定色による塗りつぶし (GPAINT1)
対象	ハイレゾ
入力	AH=09h
	DS=グラフィックBIOS用作業域のセグメント
	DS:0100h(WORD)=塗り潰し開始点のX座標
	DS:0102h(WORD)=塗り潰し開始点のY座標
	DS:0104h(BYTE)=領域色パレット番号
	    00〜0Fh: 指定パレット番号
	    FFh    : フォアグラウンドカラーで塗り潰し
	DS:0105h(BYTE)=境界色パレット番号
	    00〜0Fh: 指定パレット番号
	    FFh    : フォアグラウンドカラーを境界色に指定
	DS:0106h(WORD)=作業域の最終オフセットアドレス
	DS:0108h(WORD)=作業域の先頭オフセットアドレス
出力	AH=終了ステータス
	    00h=正常終了
	    05h=不正呼び出し
	    07h=作業域不足のため、処理中断
	AL=不定
解説  o 
関連	


INT 1Dh - Function 0Ah(ハイレゾ)
分類	GRAPH BIOS
名前	タイルパターンによる塗りつぶし (GPAINT2)
対象	ハイレゾ
入力	AH=0Ah
	DS=グラフィックBIOS用作業域のセグメント
	DS:0100h(WORD)=塗り潰し開始点のX座標
	DS:0102h(WORD)=塗り潰し開始点のY座標
	DS:0104h(BYTE)=タイルパターン長
	    01〜FFh(モノクロのとき)
	    04〜FFh(カラーのとき)
	DS:0105h(DWORD)=タイルパターン格納域の先頭アドレス
	DS:0109h(BYTE)=境界色パレット番号
	    00〜0Fh: 指定パレット番号
	    FFh    : フォアグラウンドカラーを境界色に指定
	DS:010Ah(WORD)=作業域の最終オフセットアドレス
	DS:010Ch(WORD)=作業域の先頭オフセットアドレス
出力	AH=終了ステータス
	    00h=正常終了
	    05h=不正呼び出し
	    07h=作業域不足のため、処理中断
	AL=不定
解説  o 
関連	


INT 1Dh - Function 0Bh(ハイレゾ)
分類	GRAPH BIOS
名前	画面イメージの格納 (GGET)
対象	ハイレゾ
入力	AH=0Bh
	DS=グラフィックBIOS用作業域のセグメント
	DS:0100h(WORD)=指定領域の左上X座標(X1)
	DS:0102h(WORD)=指定領域の左上Y座標(Y1)
	DS:0104h(WORD)=指定領域の右下X座標(X2)
	DS:0106h(WORD)=指定領域の右下Y座標(Y2)
	DS:0108h(DWORD)=格納域の先頭アドレス
	DS:010Ch(WORD)=格納域の長さ
出力	AH=終了ステータス
	    00h=正常終了
	    05h=不正呼び出し
	AL=不定
解説  o 
関連	


INT 1Dh - Function 0Ch(ハイレゾ)
分類	GRAPH BIOS
名前	画面イメージの復帰 (GPUT1)
対象	ハイレゾ
入力	AH=0Ch
	DS=グラフィックBIOS用作業域のセグメント
	DS:0100h(WORD)=描画領域の左上X座標(X1)
	DS:0102h(WORD)=描画領域の左上Y座標(Y1)
	DS:0104h(DWORD)=格納域の先頭アドレス
	DS:0108h(WORD)=格納域の長さ
	DS:010Ah(BYTE)=描画モード
	    00h=格納域のイメージをそのまま描画
	    01h=格納域のイメージをNOTして描画
	    02h=格納域のイメージと元の画面パターンとをORして描画
	    03h=格納域のイメージと元の画面パターンとをANDして描画
	    04h=格納域のイメージと元の画面パターンとをXORして描画
	DS:010Bh(BYTE)=カラースイッチ
	    00h: 格納域内のデータを現在のモードで扱う
	    01h: 格納域内のデータをモノクロモードで扱う
	■カラースイッチ=01hのとき
	DS:010Ch(BYTE)=モノクロモードで格納されている描画パターンの白のドット¥
			を描画するときのパレット番号を指定(00〜0Fh)
	DS:010Dh(BYTE)=モノクロモードで格納されている描画パターンの黒のドット¥
			を描画するときのパレット番号を指定(00〜0Fh)
出力	AH=終了ステータス
	    00h=正常終了
	    05h=不正呼び出し
	AL=不定
解説  o 
関連	


INT 1Dh - Function 0Dh(ハイレゾ)
分類	GRAPH BIOS
名前	日本語の描画 (GPUT2)
対象	ハイレゾ
入力	AH=0Dh
	DS=グラフィックBIOS用作業域のセグメント
	DS:0100h(WORD)=描画領域の左上X座標
	DS:0102h(WORD)=描画領域の左上Y座標
	DS:0104h(WORD)=日本語JISコード
	DS:0106h(BYTE)=描画モード
	    00h=日本語文字をそのまま描画
	    01h=日本語文字をNOTして描画
	    02h=日本語文字と元の画面パターンとをORして描画
	    03h=日本語文字と元の画面パターンとをANDして描画
	    04h=日本語文字と元の画面パターンとをXORして描画
	DS:0107h(BYTE)=カラースイッチ
	    00h: 色指定なし
	    01h: フォアグラウンドカラー・バックグラウンドカラーの指定あり
	DS:0108h(BYTE)=フォアグラウンドカラー
	DS:0109h(BYTE)=バックグラウンドカラー
出力	AH=終了ステータス
	    00h=正常終了
	    05h=不正呼び出し
	AL=不定
解説  o 
関連	


INT 1Dh - Function 0Eh(ハイレゾ)
分類	GRAPH BIOS
名前	画面イメージの移動 (GROLL)
対象	ハイレゾ
入力	AH=0Eh
	DS=グラフィックBIOS用作業域のセグメント
	DS:0100h(WORD)=上下方向に移動するドット数
	    +1〜+935: 上方向
	    -935〜-1: 下方向
	DS:0102h(WORD)=左右方向に移動するドット数
	    +1〜+1119: 左方向
	    -1119〜-1: 右方向
	    * 実際には、指定された値の絶対値以下で、¥
	      最も近い8の倍数分だけ移動する
	DS:0104h(BYTE)=クリアフラグ
	    00h: 移動後の残りの領域をパレット0で埋める
	    01h: 移動後の残りの領域をバックグラウンドカラーで埋める
出力	AH=終了ステータス
	    00h=正常終了
	    05h=不正呼び出し
	AL=不定
解説  o 
関連	


INT 1Dh - Function 0Fh(ハイレゾ)
分類	GRAPH BIOS
名前	指定ドットのパレット番号の取得 (GPOINT2)
対象	ハイレゾ
入力	AH=0Fh
	DS=グラフィックBIOS用作業域のセグメント
	DS:0100h(WORD)=パレット番号を求めるドットのX座標
	DS:0102h(WORD)=パレット番号を求めるドットのY座標
出力	AH=終了ステータス
	    00h=正常終了
	    05h=不正呼び出し
	■モノクログラフィックモードのとき
	AL=00h: 黒
	   01h: 白
	■カラーグラフィックモードのとき
	AL=00〜0Fh: パレット番号
	   FFh    : 指定座標がアクティブ画面のビューポート外
解説  o 
関連	


INT 1Dh - Function 10h(ハイレゾ)
分類	GRAPH BIOS
名前	表示領域の設定 (GSCROLL)
対象	ハイレゾ
入力	AH=10h
	DS=グラフィックBIOS用作業域のセグメント
	DS:0100h(WORD)=表示開始Y座標
出力	AH=終了ステータス
	    00h=正常終了
	    05h=不正呼び出し
	AL=不定
解説  o 
関連	


INT 1Dh - Function 11h
分類	GRAPH BIOS
名前	グラフィック画面の表示開始 (GSTART)
対象	ハイレゾ
入力	AH=11h
	DS=グラフィックBIOS用作業域のセグメント
出力	AH=終了ステータス
	    00h=正常終了
	    05h=不正呼び出し
	AL=不定
解説  o 
関連	


INT 1Dh - Function 12h
分類	GRAPH BIOS
名前	グラフィック画面の表示停止 (GSTOP)
対象	ハイレゾ
入力	AH=12h
	DS=グラフィックBIOS用作業域のセグメント
出力	AH=終了ステータス
	    00h=正常終了
	    05h=不正呼び出し
	AL=不定
解説  o 
関連	


INT 1Dh - Function 13h
分類	GRAPH BIOS
名前	グラフィックBOISの終了 (GTERM)
対象	ハイレゾ
入力	AH=13h
	DS=グラフィックBIOS用作業域のセグメント
出力	AH=終了ステータス
	    00h=正常終了
	    05h=不正呼び出し
	AL=不定
解説  o 
関連